package com.atermenji.android.iconicdroid.sample; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.*; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.SeekBar.OnSeekBarChangeListener; import com.atermenji.android.iconicdroid.IconicFontDrawable; import com.atermenji.android.iconicdroid.icon.EntypoIcon; import com.atermenji.android.iconicdroid.icon.EntypoSocialIcon; import com.atermenji.android.iconicdroid.icon.FontAwesomeIcon; import com.atermenji.android.iconicdroid.icon.Icon; import com.atermenji.android.iconicdroid.icon.IconicIcon; import static android.os.Build.VERSION.SDK_INT; import static android.os.Build.VERSION_CODES.JELLY_BEAN; public class SimpleSampleActivity extends Activity { private static final int ICON_PADDING_MAX = 500; private static final int ICON_CONTOUR_WIDTH = 10; private static final int BUTTON_ICON_CONTOUR_WIDTH = 5; private static final int BUTTON_ICON_INTRINSIC_WIDTH = 70; private static final int BUTTON_ICON_INTRINSIC_HEIGHT = 70; private static final String EXTRA_ICON = "extra_icon"; private View mIconView; private Spinner mIconsSpinner; private SeekBar mPaddingSeekBar; private Button mChangeColorButton; private TextView mCurPaddingTextView; private CheckBox mDrawContourCheckBox; private IconicFontDrawable mIconicFontDrawable; private IconicFontDrawable mIconicFontDrawableButton; private Icon mIcon; private boolean firstSelect; public static Intent createIntent(final Context context, final Icon icon) { Intent intent = new Intent(context, SimpleSampleActivity.class); intent.putExtra(EXTRA_ICON, icon); return intent; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple_sample); mIconView = findViewById(R.id.view_icon); mIconsSpinner = (Spinner) findViewById(R.id.sp_icons); mPaddingSeekBar = (SeekBar) findViewById(R.id.sb_size); mChangeColorButton = (Button) findViewById(R.id.bt_change_color); mCurPaddingTextView = (TextView) findViewById(R.id.tv_size); mDrawContourCheckBox = (CheckBox) findViewById(R.id.cb_draw_stroke); Bundle extras = getIntent().getExtras(); if (extras != null) { mIcon = (Icon) extras.getSerializable(EXTRA_ICON); } initSimpleSample(); } private void initSimpleSample() { mIconicFontDrawable = new IconicFontDrawable(this); mIconicFontDrawableButton = new IconicFontDrawable(this); mIconicFontDrawableButton.setIntrinsicWidth(BUTTON_ICON_INTRINSIC_WIDTH); mIconicFontDrawableButton.setIntrinsicHeight(BUTTON_ICON_INTRINSIC_HEIGHT); if (SDK_INT < JELLY_BEAN) { mIconView.setBackgroundDrawable(mIconicFontDrawable); } else { mIconView.setBackground(mIconicFontDrawable); } mChangeColorButton.setCompoundDrawablesWithIntrinsicBounds( mIconicFontDrawableButton, null, null, null); List<Icon> icons = new ArrayList<Icon>(); icons.addAll(Arrays.asList(EntypoIcon.values())); icons.addAll(Arrays.asList(EntypoSocialIcon.values())); icons.addAll(Arrays.asList(FontAwesomeIcon.values())); icons.addAll(Arrays.asList(IconicIcon.values())); final ArrayAdapter<Icon> adapter = new ArrayAdapter<Icon>(this, android.R.layout.simple_spinner_item, icons); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mIconsSpinner.setAdapter(adapter); if (mIcon != null) { mIconicFontDrawable.setIcon(mIcon); mIconicFontDrawableButton.setIcon(mIcon); mIconsSpinner.setSelection(adapter.getPosition(mIcon)); firstSelect = true; } mIconsSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { if (!firstSelect) { Icon icon = adapter.getItem(pos); mIconicFontDrawable.setIcon(icon); mIconicFontDrawableButton.setIcon(icon); } else { firstSelect = false; } } @Override public void onNothingSelected(AdapterView<?> parent) { } }); mIconicFontDrawable.setIconColor(Utils.randomColor()); mIconicFontDrawableButton.setIconColor(Utils.randomColor()); mCurPaddingTextView.setText("Padding: " + 0); mPaddingSeekBar.setMax(ICON_PADDING_MAX); mPaddingSeekBar.setProgress(0); mPaddingSeekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override public void onStopTrackingTouch(SeekBar seekBar) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { mIconicFontDrawable.setIconPadding(progress); mCurPaddingTextView.setText("Padding: " + progress); } }); mChangeColorButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { mIconicFontDrawable.setIconColor(Utils.randomColor()); mIconicFontDrawable.setContourColor(Utils.randomColor()); mIconicFontDrawableButton.setIconColor(Utils.randomColor()); mIconicFontDrawableButton.setContourColor(Utils.randomColor()); } }); mDrawContourCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { mIconicFontDrawable.setContour(Utils.randomColor(), ICON_CONTOUR_WIDTH); mIconicFontDrawableButton.setContour(Utils.randomColor(), BUTTON_ICON_CONTOUR_WIDTH); } mIconicFontDrawable.drawContour(isChecked); mIconicFontDrawableButton.drawContour(isChecked); } }); } }